home *** CD-ROM | disk | FTP | other *** search
- ║CM:TABLE 1.5
- ┼83╞ ─╙╦╔╬╘ ╔NITIALIZE DISK ┼┴┴0 ╥╒
- ┼971 ╔─╠┼ ╔DLE LOOP; WAIT FOR SOMETHING TO DO ┼┬┼7 ╥╒
- ┼992 ╔─╠1 ╔DLE LOOP; CLEAR INTERRUPT MASK ┼┬╞╞ ╥╒
- ┼9┼┬ ╔─╠10 ╔DLE LOOP; DELAY FOR ERROR ╠┼─ FLASH ┼├81 ╥
- ┼┴23 ╙╘─╔╥ ─IRECTORY LOADING FUNCTION; GET THE BUFFER ┼├9┼
- ┼┴─┼ ═╧╓┬╒╞ ╘RANSFER FILENAME TO LISTING BUFFER ┼─59
- ┼┴┼├ ╟┼╘─╔╥ ╟ET CHARACTER FOR DIRECTORY LOADING ┼─67
- ┼┬09 ╓┼╥─╔╥ ╓ALIDATE FILES WITH ┬┴═; CREATE NEW ┬┴═ ┼─84
- ACCORDING TO CONTENTS OF FILE ENTERED IN DIR
- ┼┬67 ╓═╦┬┴═ ═ARK ┬┴═ WITH FILE SECTORS ┼─┼5
- ┼┬8╞ ╬┼╫ ╬EW (FORMAT) A DISKETTE ┼┼0─ ╥
- ┼├46 ╬┼╫═┴╨ ┬UILD A ┬┴═ ON DISK ┼┼┬7
- ┼├86 ═┴╨╧╒╘ ╫RITE OUT ┬┴═ TO THE DRIVE ┼┼╞4 ═
- ┼├91 ╙├╥┬┴═ ╫RITE ┬┴═ ACCORDING TO ─╥╓╬╒═ ┼┼╞╞ ═
- ┼├┬8 ╬╒═╞╥┼ ├ALCULATE THE NUMBER OF FREE BLOCKS ON ─╥╓╬╒═ ┼╞4─
- ┼├─8 ╫╞╥┼┼ ╞REE BLOCK SPECIFIED IN ╘&╙ AS FREE IN ┬┴═ ┼╞5╞
- ┼─01 ╫╒╙┼─ ═ARK TRACK, SECTOR (┬═╨╘╥) AS USED ┼╞90 ═
- ┼─3─ ╞╥┼╒╙┼ ├ALCULATE INDEX INTO ┬┴═ FOR TARGET SECTOR ┼╞├╞
- ┼─57 ├╠╥┬┴═ ├LEAR THE ┬┴═ AREA ╞005
- ┼─63 ╙┼╘┬┴═ ╙ET ┬┴═ IMAGE IN MEMORY ╞011
- ┼─89 ╥┼─┬┴═ ╥EAD IN ┬┴═ IF NOT PRESENT ╞0─╞
- ┼─┴0 ─┘╘┬┴═ ╙ET DIRTY ┬┴═ FLAG ┼╞88
- ┼─┴8 ╙┼╠┬┴═ ╙ELECT ┬┴═ BUFFER BASED ON CURRENT DRIVE# - ╬
- ┼─┬8 ┬┴═╘┬╠ .BYT $0┴ $0┬ - ╬
- ┼─┬┴ ╬╪╘╘╙ ╥ETURN NEXT AVAILABLE ╘&╙ GIVEN CURRENT ╘&╙ ╞11┼
- ┼─├7 ╬╪╘─╙ ╞IND ┬┴═ FIELD FOR THIS TRACK ╞12─
- ┼─╞4 ╬╪╘┼╥╥ ─ISK FULL ERROR ╞15┴
- ┼┼0─ ╞╬─╬╪╘ ╞IND NEXT OPTIMUM SECTOR ╞173
- ┼┼42 ╔╬╘╘╙ ╥ETURNS OPTIMUM INITIAL ╘&╙ ╞1┴9 ═
- ┼┼7─ ╞╬─╙┼├ ╥ETURNS OPTIMUM INITIAL ╘&╙ ╞1┼6
- ┼┼86 ─┼╥╥ ─IRECTORY ERROR (ERROR IN ┬┴═) ╞1╞5
- ┼┼91 ╟┼╘╙┼├ ╙ET ┬┴═ AND FIND AVAILABLE SECTOR STARTING ╞1╞┴
- AT SECTOR
- ┼┼┬7 ┴╓├╦ ┬┴═ VALIDITY CHECK ╞220 ═
- ┼┼─9 ═┴╪╙┼├ ╬UMBER OF SECTORS LOCATED ON SPECIFIC TRACK ╞248
- -------------- ├= ╙ERIAL ┬US ├OMMUNICATIONS ----------------------------
- ┼┼┼6 ┴╘╬╙╥╓ ╙ERVICE SERIAL BUS ATTENTION (┴╘╬) ┼85┬ ╥╒
- ┼╞19 ┴╘╬122 ╘EST IF ┴╘╬ SIGNAL IS STILL PRESENT ┼902 ╥
- ┼╞25 ┴╘╬40 ├OMPARE COMMAND BYTE ┼89┬ ╥╒
- ┼╞88 ╘┴╠╦ ╙ET TALK ALONG SERIAL BUS ┼909 ╥
- ┼╞├┬ ╬╧┼╧╔ ├HECK FOR SERIAL BUS ┼╧╔ ┼94┬ ╥
- ┼╞┼8 ╔╙╥╚╔ ╙ERIAL ╘┴╠╦ SUBROUTINE ┼973 ╥
- ┼╞╞─ ╔╙╥04 ╙ERIAL ╘┴╠╦ SUBROUTINE ┼987 ╥
- ╞00┬ ╞╥═┼╥╪ ╙ERIAL ╘┴╠╦ SUBROUTINE ┼999 ╥
- ╞00┼ ├╠╦─┴╘ ╬EW CLOCK LO AND DATA HI FOR PATCH ╞┼╞┬
- ╞014 ├╠╦╠╧╫ ╙ET CLOCK LOW ┼9┴┼ ╒
- ╞019 ├╠╦╚╔ ╙ET CLOCK HI ┼9┬7 ╒
- ╞01┼ ─┴╘╠╧ ╙ET DATA OUT LOW ┼9┴5 ╒
- ╞023 ─┴╘╚╔ ╙ET DATA OUT HI ┼99├ ╒
- ╞028 ─┼┬╬├ ╫AIT FOR REPLY FROM SERIAL BUS ┼9├0 ╥
- ╞030 ╙╠╧╫─ ╨ATCH FOR SLOW SERIAL RECEIVE ╞┼╞3
- ╞038 ┴├╨╘╥ ╙ERIAL BUS LISTEN ROUTINE ┼9├9 ╥╒
- ╞08╞ ╠╔╙╘┼╬ ═AIN LISTEN ROUTINE ┼┴2┼ ╥╒
- ╞0┬2 ╞╥═┼╥╥ ╥ELEASE ALL SERIAL BUS LINES ┼┴4┼
- ╞0┬9 ╘╙┴╘╬ ╘EST FOR ┴╘╬ ┼┴59
- -------------- ╔┼┼┼ ┬US ├OMMUNICATIONS ---------------------------------
- ╞0├┴ ┴╘╬╙╥╔ ╙ERVICE ╔┼┼┼ BUS ATTENTION (┴╘╬) ┼85┬ ╬╒
- ╞17┼ ╠╔╙╘╬╔ ╔┼┼┼ BUS ╠╔╙╘┼╬ ROUTINE - ╬╒
- ╞1╞5 ╘┴╠╦╔ ╔┼┼┼ BUS ╘┴╠╦ ROUTINE - ╬╒
- -------------- ─ISK ├ONTROLLER ╥OUTINES --------------------------------
- ╞271 ├╬╘╔╬╘ ╔NITIALIZATION OF CONTROLLER ╞259 ╥
- ╞2┴┴ ╠├├ ═AIN CONTROLLER LOOP ╞2┬0 ╥
- ╞2┴┼ ╘╧╨ ╘OP OF LOOP TO SCAN JOB QUEUE ╞2┬┼ ╥
- ╞321 ╙┼┴╦ ╙EARCH FOR VALID HEADER BLOCK ON THIS TRACK ╞3┬1 ╥╒
- ╞3┴╞ ─╧╬┼ ╥ETURN ╧╦ CODE ╞418
- ╞3┬7 ├╬╓┬╔╬ ├ONVERT HEADER IN ╙╘┴┬ TO BINARY ╞497 ═
- ╞3╞0 ╥┼┼─ ╥EAD IN TRACK, SECTOR SPECIFIED IN HEADER ╞4├┴ ═╒
- ╞400 ╥─╟├╥ ╥EAD ╟├╥ IMAGE OF A DATA BLOCK - ╬
- ╞446 ╙╥├╚ ╞IND SPECIFIC HEADER ╞510 ═
- ╞46├ ╙╥├╚25 ╙EARCH FOR HEADER IN HEADER TABLE ($4├28) ╞53─ ╥╒
- ╞4┴6 ╙┘╬├ ╫AIT FOR SYNC MARK ╞556 ╥╒
- ╞4┬7 ╫╥╔╟╚╘ ╫RITE JOB; WRITE OUT DATA BUFFER ╞56┼ ═
- ╞4┼2 ╫╥╘10 ╫AIT FOR 8 BYTES TO GO BY ╞586 ═╒
- ╞4╞8 ╫╥╘╙╬├ ╠OOP TO WRITE 5 $╞╞'S; .┘ POINTS TO OVERFLOW ╞5┴┬ ═╒
- ╞52┴ ├╚╦┬╠╦ ├HECK BLOCK; CALCULATE CHECKSUM ╞5┼9
- ╞533 ╫╘╧┬╔╬ ╫RITE BINARY DATA ╞5╞2
- ╞5─7 ╓╥╞┘ ╓ERIFY DATA BLK; CONVERT TO ╟├╥; VERIFY IMAGE; ╞691 ╥╒
- TEST AGAINST DATA BLOCK; CONVERT BACK TO BINARY
- ╞61╞ ╙┼├╘╙╦ ╙ECTOR SEEK ╞6├┴
- ╞622 ├╧╬╚─╥ ├ONVERT HEADER TO ╟├╥ SEARCH IMAGE ╞934
- ╞670 ┼╥╥╥ ─ISK CONTROLLER ERROR HANDLING ╞969 ═
- ╞68┴ ╫╠╧╧╨ ╫AIT LOOP; WAIT FOR .╪ MILLISECONDS - ╬
- ╞693 ═╧╓╚┼─ ═OVE HEAD TO TRACK #.┴; SET DENS FOR TRACK .┴ - ╬╒
- ╞700 ═╧╓╚─0 ═OVE HEAD TO TRACK #0; SET DENSITY FOR TRACK 0 - ╬╒
- ╞728 ╙╘┼╨ ╙TEP READ/WRITE HEAD - ╬╒
- ╞733 ╧╬─┼╠ ═OTOR ON; 500 MS DELAY TO COME UP TO SPEED - ╬
- ╞754 ╘╥╬╧╬0 ╘URN ON DRIVE 0; TURN OFF DRIVE 1 - ╬╒
- ╞759 ╘╥╬╧╞╞ ╘URN OFF BOTH DRIVES ╞98╞ ╥╒
- ╞767 ╘╥╬╧╬1 ╘URN ON DRIVE 1; TURN OFF DRIVE 0 - ╬╒
- ╞76├ ╚╚╧═┼ ═OVE HEAD TO HOME POSITION AT TR 40 - ╬
- ╞7┬5 ╙╫╘╨╙ ╙ET WRITE PROTECT STATUS FOR EACH DRIVE ╞9┴5 ╥
- ╞7┼╞ ╟╫╘╨╙ ╟ET WRITE PROTECT STATUS FOR ACTIVE DRIVE - ╬
- ╞7╞7 ╥┼├╧╓ ┴TTEMPT TO RECOVER FROM ERROR - ╬
- -------------- ╞ORMAT ╥OUTINES ----------------------------------------- ╞820 ╞╧╥═┴╘ ╔NITIALIZE FOR FORMAT ROUTINE ├8├6 ╥
- ╞84├ ╘╧╨╨ ╙IX TRIES TO FORMAT CURRENT TRACK - ╬
- ╞851 ╥┼─╧╞╘ ╥EDO FORMAT - ╬
- ╞862 ═┴╦10 ├REATE HEADER IMAGES ╞├3╞ ═
- ╞8┬1 ├╥╘─┴╘ ├REATE DATA BLOCK OF ZEROES ╞├88 ═╒
- ╞8┼6 ╫╥╘╙┘╬ ╫RITE SYNC ╞├┬1 ╥╒
- ╞965 ├╧═╨ ╓ERIFY FORMAT ╞─2├
- ╞971 ├═╨10 ╞IND SYNC ╞─39 ═╒
- ╞997 ├═╨20 ╘EST IF TOO MANY ERRORS ╞─58
- ╞9┴1 ╘╙╘─┴╘ ╘EST DATA ╞─62 ═╒
- ╞9┼├ ╞═╘┼╥╥ ╞ORMAT ERROR ╞──3 ═
- ╞┴14 ═╧╓╒╨ ═OVE NUMBER OF BYTES IN BUFFER UP 69 BYTES ╞─┼5
- ╞┴24 ═╧╓╧╓╥ ═OVE 69 BYTES FROM OVERFLOW BUFFER INTO BOTTOM ╞─╞5
- OF DATA BUFFER POINTED BY ┬╒╞╨╬╘
- ╞┴2╞ ╞┬╘╧╟ ╞ORMAT BINARY TO ╟├╥ CONVERSION ╞┼30
- ╞┴67 ╨╒╘4┬╟ ╞AST BINARY TO ╟├╥ ROUTINE ╞6─0
- -------------- ┬INARY TO ╟├╥ ╘ABLE -------------------------------------
- ╞┬18 ┬╟╘┴┬ .BYT $0┴ 0┬ 12 13 0┼ 0╞ 16 17 ╞77╞
- .BYT $09 19 1┴ 1┬ 0─ 1─ 1┼ 15
- ╞┬28 ┬╔╬╟├╥ ┬INARY TO ╟├╥ USING OVERFLOW BLOCK ╞78╞ ═
- ╞┬2┼ ┬╔╬╟10 ╙TORE ╟├╥ IN OVERFLOW BUFFER ╞7┬┴
- ╞┬87 ╟┼╘4╟┬ ╞AST ╟├╥ TO BINARY CONVERSION ╞7┼6
- -------------- ╟├╥ ┬YTE ╘ABLE ------------------------------------------
- ╞├47 ╟├╥╚╔ .BYT $╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞8┴0
- .BYT $╞╞ 80 ─0 10 ╞╞ ├0 40 50
- .BYT $╞╞ ╞╞ 20 30 ╞╞ ╞0 60 70
- .BYT $╞╞ 90 ┴0 ┬0 ╞╞ ─0 ┼0 ╞╞
- ╞├67 ╟├╥╠╧ .BYT $╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞╞ ╞8├0
- .BYT $╞╞ 08 00 01 ╞╞ 0├ 04 05
- .BYT $╞╞ ╞╞ 02 03 ╞╞ 0╞ 06 07
- .BYT $╞╞ 09 0┴ 0┬ ╞╞ 0─ 0E ╞╞
- ╞├87 ╟├╥┬╔╬ ┼NTRY POINT FOR ╟┼╘4╟┬ ╞8┼0
- ╞├┼9 - .BYT $┴┴ ┴┴ ......THRU ╞─╞╞ (NOT USED) -
- ╞┼00 ╙┘╙╔╥╤ ═AIN SYSTEM ╔╥╤ ROUTINE ╞┼67 ╥╒
- ╞┼11 ┬╒╙╧╬ ╙ET ╨╧╥╘ ┬ IN ╔┼┼┼ MODE - ╬╒
- ╞┼1┴ ╥┼┴─╧╬ ╙ET ╨╧╥╘ ┬ IN ╥┼┴─ MODE - ╬╒
- ╞┼25 ╙╘┴╘╔╬ ╙ET ╨╧╥╘ ┬ IN ╙╘┴╘╒╙ MODE - ╬╒
- -------------- ┬IT ═ASK ╘ABLE ------------------------------------------
- ╞┼4┬ ┬═┴╙╦ .BYT $01 02 04 08 10 20 40 80 ┼╞┼9 ═
- .BYT $01 02 04 08 10 20 40 80
- .BYT $00 00 00 00 00 00 00 00
- .BYT $01 01 01 01 01 01 01 01
- ╞┼6┬ ─╔╥╘╥╦ .BYT 18 ─IRECTORY TRACK NUMBER ╞┼85
- ╞┼6├ ┬┴═╙╔┌ .BYT 4 ╬UMBER OF BYTES PER TRACK IN ┬┴═ ╞┼86
- ╞┼6─ ═┴╨╧╞╞ .BYT 4 ╧FFSET OF ┬┴═ IN SECTOR ╞┼87
- ╞┼6┼ ─╙╦╬┴═ .BYT $90 ╧FFSET OF DISK NAME IN ┬┴═ SECTOR ╞┼88
- -------------- ├OMMAND ╙EARCH ╘ABLE ------------------------------------
- ╞┼6╞ ├═─╘┬╠ .BYT $56 49 44 4─ 42 55 ╓ ╔ ─ ═ ┬ ╒ ╞┼89
- .BYT $50 26 43 52 53 4┼ ╨ & ├ ╥ ╙ ╬
- ╞┼7┬ ├╩╒═╠ .BYT $09 ├3 ├6 89 ╞9 4┴ ├OMMAND JUMP TABLE ╠╧ ╞┼95
- .BYT $68 81 92 14 38 8╞
- ╞┼87 ├╩╒═╚ .BYT $┼┬ ─0 ├7 ├├ ├─ ├─ ├OMMAND JUMP TABLE ╚╔ ╞┼┴1
- .BYT $┼2 ├0 ├9 ├├ ├7 ┼┬
-
- ╓ALIDATE $┼┬09 (┼─84) ╨OSITION $┼268 (┼207)
- ╔NITIALIZE $─0├3 (─005) & (╒╘╠╧─╥) $├081 (┼7┴3)
- ─UPLICATE $├7├6 (├8├1) ├OPY $├992 (├8╞0)
- ═ (═-) $├├89 (├┴╞8) ╥ENAME $├├14 (├┴88)
- ┬ (┬-) $├─╞9 (├├1┬) ╙CRATCH $├738 (├823)
- ╒SER $├─4┴ (├┬5├) ╬EW $┼┬8╞ (┼┼0─)
-
- -------------- ╙TRUCTURE ╔MAGES FOR ├OMMAND ----------------------------
- (┬YTES FOR ╙YNTAX ├HECK)
- ╞┼93 ╙╘╥╒├╘ .BYT $51 ── 1├ 9┼ 1├ ╞┼┴5
- .BYT %01010001 ─ISK COPY
- .BYT %11011101 ╥ENAME
- .BYT %00011100 ╙CRATCH
- .BYT %10011110 ╬EW
- .BYT %00011100 ╠OAD
- -------------- ╞ILE ├ONTROL ═ETHOD (═ODE ╘ABLE) -----------------------
- ╞┼98 ═╧─╠╙╘ .BYT $52 57 41 49 ╥ ╫ ┴ ═ ╞┼┬2
- -------------- ╞ILE ╘YPE ╘ABLE -----------------------------------------
- ╞┼9├ ╘╨╠╙╘ .BYT $44 53 50 55 4├ ─ ╙ ╨ ╒ ╠ ╞┼┬6
- ╞┼┴1 ╘┘╨╠╙╘ .BYT $44 53 50 55 52 ─ ╙ ╨ ╒ ╥ 1ST LETTER ╞┼┬┬
- ╞┼┴6 ╘╨1╠╙╘ .BYT $45 45 52 53 45 ┼ ┼ ╥ ╙ ┼ 2ND LETTER ╞┼├0
- ╞┼┴┬ ╘╨2╠╙╘ .BYT $4├ 51 47 52 4├ ╠ ╤ ╟ ╥ ╠ 3RD LETTER ╞┼├5
- -------------- ┼RROR ╞LAG ╓ARIABLE FOR ┬IT -----------------------------
- ╞┼┬0 ┼╥00 .BYT $00 ╞┼├├
- ╞┼┬1 ┼╥0 .BYT $3╞ ╞┼├─
- ╞┼┬2 ┼╥1 .BYT $7╞ ╞┼├┼
- ╞┼┬3 ┼╥2 .BYT $┬╞ ╞┼├╞
- ╞┼┬4 ┼╥3 .BYT $╞╞ ╞┼─0
- ╞┼┬5 ╬╒═╙┼├ .BYT 17,18,19,21 ╬UMBER OF SECTORS PER TRACK ╞┼─1
- ╞┼┬9 ╓┼╥╬╒═ .BYT $41 ╞ORMAT TYPE (┴) ╞┼─5
- ╞┼┬┴ ╬┌╧╬┼╙ .BYT $04 ╬UMBER OF DENSITY ZONE ╞┼─6
- ╞┼┬┬ ╧╞╞╙┼╘ .BYT $29 1╞ 19 12 ┌ONE BOUNDARIES TRACK NUMBERS ╞┼─8 ═
- ╞┼┬╞ ╬╬═╔ ╬EW ╬═╔ ROUTINE (╒╔+,╒╔-) ╞╞01 ╥
- -------------- ╬OT ╒SED ------------------------------------------------
- ╞┼─5 - .BYT $┴┴ ┴┴.....THRU ╞╞┼5 (NOT USED) -
- ╞╞┼6 $╞820 ╞ORMAT (├8├6) ╞╞┼6
- $╞759 ╘RNOFF (╞98╞)
- -------------- ╒╙┼╥ ╓ECTORS --------------------------------------------
- ╞╞┼┴ ╒╬┬╠╧├╦ $├╞36 ╒┴ ╒╙┼╥ ┬LOCK-╥EAD (├─5╞) ╞╞┼┴
- ╞╞┼├ $├╞6┼ ╒┬ ╒╙┼╥ ┬LOCK-╫RITE (├─97) ╞╞┼├
- ╞╞┼┼ ╒├ ╩UMP TO $4200 (0500) ╞╞┼┼
- ╞╞╞0 ╒─ ╩UMP TO $4203 (0503) ╞╞╞0
- ╞╞╞2 ╒┼ ╩UMP TO $4206 (0506) ╞╞╞2
- ╞╞╞4 ╒╞ ╩UMP TO $4209 (0509 ╞╞╞4
- ╞╞╞6 ╒╟ ╩UMP TO $420├ (050├) ╞╞╞6
- ╞╞╞8 ╒╚ ╩UMP TO $420╞ (050╞) ╞╞╞8
- ╞╞╞┴ $╞┼┬╞ ╒╔ ╬═╔ ╓ECTOR (╞╞01) ╞╞╞┴
- -------------- ╚ARDWARE ╓ECTORS ----------------------------------------
- ╞╞╞├ $┼83╞ ╥ESET AND ╒╩ VECTOR (┼┴┴0) ╞╞╞├
- ╞╞╞┼ $╞┼00 ╔╥╤ VECTOR (╞┼67) ╞╞╞┼
- ║NX:TABLE 1.6
-